Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[API Documentation] Cover more submodules #1179

Merged
merged 11 commits into from
Sep 2, 2024
Merged

Conversation

hotzenklotz
Copy link
Member

@hotzenklotz hotzenklotz commented Aug 29, 2024

Description:

  • The recent refresh of the API documentation misses some pages for WK submodules and classes, e.g. DatasetViewConfiguration.
  • This PR revises the method to extract submodules and classes from the webknossos Python package. While not every page/module is directly linked from the navigation/menu bar on the left, they are still linked within the API documentation itself.

The module discovery now should cover all of this:

  Class: <class 'webknossos.annotation.annotation.Annotation'>
  Class: <enum 'AnnotationState'>
  Class: <enum 'AnnotationType'>
  Class: <class 'webknossos.annotation.annotation.SegmentInformation'>
  Class: <class 'webknossos.annotation.annotation._VolumeLayer'>

Submodule: webknossos.annotation.annotation_info
  Class: <class 'webknossos.annotation.annotation_info.AnnotationInfo'>

Submodule: webknossos.geometry.bounding_box
  Class: <class 'webknossos.geometry.bounding_box.BoundingBox'>

Submodule: webknossos.client.context
  Class: <class 'webknossos.client.context._WebknossosContext'>
  Class: <class 'webknossos.client.context.webknossos_context'>

Submodule: webknossos.dataset.data_format
  Class: <enum 'DataFormat'>

Submodule: webknossos.dataset.dataset
  Class: <class 'webknossos.dataset.dataset.Dataset'>
  Class: <class 'webknossos.dataset.dataset.RemoteDataset'>

Submodule: webknossos.skeleton.group
  Class: <class 'webknossos.skeleton.group.Group'>

Submodule: webknossos.dataset.layer
  Class: <class 'webknossos.dataset.layer.Layer'>
  Class: <class 'webknossos.dataset.layer.SegmentationLayer'>

Submodule: webknossos.dataset.length_unit
  Class: <enum 'LengthUnit'>

Submodule: webknossos.geometry.mag
  Class: <class 'webknossos.geometry.mag.Mag'>

Submodule: webknossos.dataset.mag_view
  Class: <class 'webknossos.dataset.mag_view.MagView'>

Submodule: webknossos.geometry.nd_bounding_box
  Class: <class 'webknossos.geometry.nd_bounding_box.NDBoundingBox'>

Submodule: webknossos.skeleton.node
  Class: <class 'webknossos.skeleton.node.Node'>

Submodule: webknossos.administration.project
  Class: <class 'webknossos.administration.project.Project'>

Submodule: webknossos.dataset.properties
  Class: <class 'webknossos.dataset.properties.AxisProperties'>
  Class: <class 'webknossos.dataset.properties.DatasetProperties'>
  Class: <class 'webknossos.dataset.properties.DatasetViewConfiguration'>
  Class: <class 'webknossos.dataset.properties.LayerProperties'>
  Class: <class 'webknossos.dataset.properties.LayerViewConfiguration'>
  Class: <class 'webknossos.dataset.properties.MagViewProperties'>
  Class: <class 'webknossos.dataset.properties.SegmentationLayerProperties'>
  Class: <class 'webknossos.dataset.properties.VoxelSize'>
  Class: <class 'webknossos.dataset.properties.SegmentationLayerProperties'>

Submodule: webknossos.dataset.remote_dataset_registry
  Class: <class 'webknossos.dataset.remote_dataset_registry.RemoteDatasetRegistry'>

Submodule: webknossos.dataset.remote_folder
  Class: <class 'webknossos.dataset.remote_folder.RemoteFolder'>

Submodule: webknossos.dataset.sampling_modes
  Class: <enum 'SamplingModes'>

Submodule: webknossos.skeleton.skeleton
  Class: <class 'webknossos.skeleton.skeleton.Skeleton'>

Submodule: webknossos.administration.task
  Class: <class 'webknossos.administration.task.Task'>
  Class: <class 'webknossos.administration.task.TaskStatus'>
  Class: <class 'webknossos.administration.task.TaskType'>

Submodule: webknossos.skeleton.tree
  Class: <class 'webknossos.skeleton.tree.Graph'>
  Class: <class 'webknossos.skeleton.tree.Tree'>
  Class: <class 'webknossos.skeleton.tree._AdjDict'>
  Class: <class 'webknossos.skeleton.tree._NodeDict'>

Submodule: webknossos.administration.user
  Class: <class 'webknossos.administration.user.LoggedTime'>
  Class: <class 'webknossos.administration.user.Team'>
  Class: <class 'webknossos.administration.user.User'>

Submodule: webknossos.utils
  Class: <class 'webknossos.utils.LazyReadOnlyDict'>
  Class: <class 'webknossos.utils.NDArrayLike'>

Submodule: webknossos.geometry.vec3_int
  Class: <class 'webknossos.geometry.vec3_int.Vec3Int'>

Submodule: webknossos.geometry.vec_int
  Class: <class 'webknossos.geometry.vec_int.VecInt'>

Submodule: webknossos.dataset.view
  Class: <class 'webknossos.dataset.view.View'>

Testing

  1. Run
cd docs
./generate.sh
  1. Open browser at http://localhost:8197/api/webknossos.html
  2. Read the docs

Todos:

Make sure to delete unnecessary points or to check all before merging:

  • Updated Changelog
  • Updated Documentation
  • Added / Updated Tests
  • Considered adding this to the Examples

Copy link
Contributor

@markbader markbader left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

Some classes like RemoteFolders are not yet listed in the navigation sidebar, but I assume this sidebar will be changed as part of #1171 anyway.

@bulldozer-boy bulldozer-boy bot merged commit d8ffb62 into master Sep 2, 2024
19 checks passed
@bulldozer-boy bulldozer-boy bot deleted the more_api_docs branch September 2, 2024 12:32
@hotzenklotz
Copy link
Member Author

Some classes like RemoteFolders are not yet listed in the navigation sidebar, but I assume this sidebar will be changed as part of #1171 anyway.

#1171 will only restructure the WK docs, not the libs docs. So, no - remote folders will not be integrated. Feel free to add this in your PR #1163.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants